package com.rchat.pocmini.greendao.daoope;

import android.content.Context;

import com.rchat.pocmini.greendao.DBManager;
import com.rchat.pocmini.greendao.bean.ListenChannelBean;

import org.greenrobot.greendao.query.QueryBuilder;

import java.util.List;

/**
 * Created by ljd on 2017/4/10.
 * <p>
 * ListenChannelBean 数据库操作类
 */

public class ListenChannelBeanDaoOpe {


    private DBManager mDBManager;

    public ListenChannelBeanDaoOpe(Context context) {
        mDBManager = DBManager.getInstance(context);
    }

    /**
     * 添加数据至数据库
     *
     * @param context 上下文
     * @param data    数据
     */
    public void insertData(Context context, ListenChannelBean data) {
        if (null != data) {
            mDBManager.getDaoSession(context).getListenChannelBeanDao().insert(data);
        }
    }

    /**
     * 将数据实体通过事务添加至数据库
     *
     * @param context  上下文
     * @param dataList 数据list
     */
    public void insertData(Context context, List<ListenChannelBean> dataList) {
        if (null != dataList && dataList.size() > 0) {
            mDBManager.getDaoSession(context).getListenChannelBeanDao().insertInTx(dataList);
        }
    }

    /**
     * 添加数据至数据库，如果数据库已经存在该数据，则会覆盖原数据
     *
     * @param context 上下文
     * @param data    数据
     */
    public void saveData(Context context, ListenChannelBean data) {
        if (null != data) {
            mDBManager.getDaoSession(context).getListenChannelBeanDao().save(data);
        }
    }

    /**
     * 查询所有数据
     *
     * @param context 上下文
     * @return 返回数据库所有ListenChannelBean的数据
     */
    public List<ListenChannelBean> queryAll(Context context) {
        QueryBuilder<ListenChannelBean> builder = mDBManager.getDaoSession(context).getListenChannelBeanDao().queryBuilder();
        return builder.build().list();
    }
}
